<?php

require_once('conf/DBConnection.php');
require_once('dao/DAO.php');

class TransportesDAO extends DAO {

	function TransportesDAO() {
	}


	function get($id){
		DBConnection::getInstance();
		$query = "SELECT *, T.id as idTransporte FROM transportes as T INNER JOIN ciudades as C ON C.id=T.idCiudad INNER JOIN provincias as P ON P.id=T.idProvincia WHERE T.id = $id";
		//echo $query;
		$result = mysql_query($query);
		$results = $this->getFromResult($result);
		return $results[0];
	}

	function find($criteria){
		DBConnection::getInstance();
		$conditions = $this->getConditions($criteria);
		$query = "SELECT *, T.id as idTransporte FROM transportes as T INNER JOIN ciudades as C ON C.id=T.idCiudad INNER JOIN provincias as P ON P.id=T.idProvincia WHERE 1=1 $conditions";
		//echo $query;
		$result = mysql_query($query);
		return $this->getFromResult($result);
	}

	function deleteFisico($id){
		DBConnection::getInstance();
		$query = "DELETE FROM transportes WHERE id = $id";
		$result = mysql_query($query);
		return parent::checkError($result);
	}

	function delete($id){
		DBConnection::getInstance();
		$query = "UPDATE transportes SET borrado = '1' WHERE id = $id";
		$result = mysql_query($query);
		return parent::checkError($result);
	}

	function insert($vo) {
		DBConnection::getInstance();
		$query = "INSERT INTO transportes(id, nombre, logo, camiones, titular, idCiudad, idProvincia, direccion, telefono, celular, email, web, texto, video, afiche, destacado, chasisyacoplado, jaula, jauladoble, borrado) VALUES
				('".$vo->getId()."', 
				 '".$vo->getNombre()."', 
				 '".$vo->getLogo()."', 
				 '".$vo->getCamiones()."', 
				 '".$vo->getTitular()."', 
				 '".$vo->getIdCiudad()."', 
				 '".$vo->getIdProvincia()."', 
				 '".$vo->getDireccion()."', 
				 '".$vo->getTelefono()."', 
				 '".$vo->getCelular()."', 
				 '".$vo->getEmail()."', 
				 '".$vo->getWeb()."', 
				 '".$vo->getTexto()."', 
				 '".$vo->getVideo()."', 
				 '".$vo->getAfiche()."', 
				 '".$vo->getDestacado()."', 
				 '".$vo->getChasisyacoplado()."', 
				 '".$vo->getJaula()."', 
				 '".$vo->getJauladoble()."', 
				 '".$vo->getBorrado()."')";
		$result = mysql_query($query);
		return parent::checkError($result);
	}

	function update($vo) {
		DBConnection::getInstance();
		$query = "UPDATE transportes SET ".
				"nombre ='".$vo->getNombre()."', ".
				"logo ='".$vo->getLogo()."', ".
				"camiones ='".$vo->getCamiones()."', ".
				"titular ='".$vo->getTitular()."', ".
				"idCiudad ='".$vo->getIdCiudad()."', ".
				"idProvincia ='".$vo->getIdProvincia()."', ".
				"direccion ='".$vo->getDireccion()."', ".
				"telefono ='".$vo->getTelefono()."', ".
				"celular ='".$vo->getCelular()."', ".
				"email ='".$vo->getEmail()."', ".
				"web ='".$vo->getWeb()."', ".
				"texto ='".$vo->getTexto()."', ".
				"video ='".$vo->getVideo()."', ".
				"afiche ='".$vo->getAfiche()."', ".
				"destacado ='".$vo->getDestacado()."', ".
				"chasisyacoplado ='".$vo->getChasisyacoplado()."', ".
				"jaula ='".$vo->getJaula()."', ".
				"jauladoble ='".$vo->getJauladoble()."' ".
				" WHERE id =".$vo->getId();
		//echo $query;
		$result = mysql_query($query);
		return parent::checkError($result);
	}
	
	public function getNextid(){
		DBConnection::getInstance();
		$sql = mysql_query("SELECT MAX(id) FROM transportes");
		$result = mysql_fetch_array($sql);
		return $result['MAX(id)'] + 1;
	}

	function getConditions($criteria){
		if ($criteria->getNombre() != null) {
			$conditions.= " AND nombre= '".$criteria->getNombre()."'";
		}
		if ($criteria->getCamiones() != null) {
			$conditions.= " AND camiones= '".$criteria->getCamiones()."'";
		}
		if ($criteria->getTitular() != null) {
			$conditions.= " AND titular= '".$criteria->getTitular()."'";
		}
		if ($criteria->getIdCiudad() != null) {
			$conditions.= " AND idCiudad= '".$criteria->getIdCiudad()."'";
		}
		if ($criteria->getIdProvincia() != null) {
			$conditions.= " AND idProvincia= '".$criteria->getIdProvincia()."'";
		}
		if ($criteria->getSearch() != null) {
			$conditions.= " AND nombre like '%".$criteria->getSearch()."%' OR titular like '%".$criteria->getSearch()."%'";
		}
		$conditions .= parent::getConditionsAbs($criteria,'T');
		return $conditions;
	}

}
